package bigapps.myneighbor.dao;

import java.io.Serializable;
import java.util.List;

import bigapps.myneighbor.domain.NYCEntity;

public interface GenericDao<T extends NYCEntity, ID extends Serializable> {
	public T findById(ID id, boolean lock);
	public List<T> findAll();
	public List<T> findAllStatus();
	public List<T> findByClosestDistance(double latitude, double longitude);
	public void save(T entity);
	public List<T> getUnassignedLatitudeLongitude();
	public void updateLatitudeLongitude(T entity, Integer status, Double latitude, Double longitude);
	public T findEntity(T entity);
	public List<T> getErroredLatitudeLongitude();
	public List<T> findByStatus(int status);
}
